package com.settlement.system.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class SysOrderVO implements Serializable {
    private Long id;

    /**
     * 关联单号
     */
    private String linkNo;

    /**
     * 发退货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sendReturnTime;

    /**
     * 账单月份
     */
    private String billMonth;

    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderTime;

    /**
     * 电商平台店铺编码
     */
    private String platformStoreCode;

    /**
     * 电商平台店铺名称
     */
    private String platformStoreName;

    /**
     * 对账系统店铺编码
     */
    private String billStoreCode;
    /**
     * 对账系统店铺名称
     */
    private String billStoreName;

    /**
     * 自有平台主订单号
     */
    private String onwerPreformNo;

    /**
     * 原始主订单号
     */
    private String sourcePreformMainNo;

    /**
     * 原始子订单号
     */
    private String sourcePreformSubNo;

    /**
     * PO单号
     */
    private String poNo;

    /**
     * 内部系统电商平台编码
     */
    private String innerShopCode;

    /**
     * 内部系统电商平台名称
     */
    private String innerShopName;

    /**
     * 内部系统店铺编码
     */
    private String shopCode;

    /**
     * 内部系统店铺名称
     */
    private String shopName;

    /**
     * 财务系统店铺编码
     */
    private String billSysStore;

    /**
     * 财务系统店铺名称
     */
    private String billSysStoreName;

    /**
     * 商品单价
     */
    private BigDecimal price = BigDecimal.ZERO;

    /**
     * 发货数量
     */
    private Integer qty = 0;

    /**
     * 发货金额
     */
    private BigDecimal sendAmount = BigDecimal.ZERO;

    /**
     * 退货数量
     */
    private Integer returnQty = 0;

    /**
     * 退货金额
     */
    private BigDecimal returnAmount = BigDecimal.ZERO;

    /**
     * 自系统调账日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime systemReconciliationDate;

    /**
     * 自系统调账数量
     */
    private Integer systemReconciliationQty = 0;

    /**
     * 自系统调账金额
     */
    private BigDecimal systemReconciliationAmount = BigDecimal.ZERO;

    /**
     * 所属平台
     */
    private String platform;

    /**
     * 店铺ID
     */
    private Long storeId;

    /**
     * 订单状态
     */
    private String orderStatus;

    /**
     * OMS单号
     */
    private String omsNo;
}
